Identification system and electronic system for identifying a fan type of a fan

ABSTRACT

A fan identification system identifies a fan type of a fan in an electronic system. The fan identification system includes a controller that includes: a setting module for setting a fan identification characteristic value corresponding to a pulse width modulation duty cycle with a substantial maximum difference between a fan speed of a first type of fan and a fan speed of a second type of fan; a reading module for reading a stable fan speed value after the fan receives the fan identification characteristic value and is initiated with the fan identification characteristic value; and an identification module for identifying the fan as the first type of fan or the second type of fan based on which fan has a predetermined fan speed that is the closest to the stable fan speed value when operating at the fan identification characteristic value.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the right of priority based on Taiwan PatentApplication No. 101127414 entitled “METHOD, IDENTIFICATION SYSTEM, ANDELECTRONIC SYSTEM FOR IDENTIFYING A FAN TYPE OF A FAN”, filed on Jul.30, 2012, which is incorporated herein with reference and assigned tothe assignee herein.

BACKGROUND

1. Field of the Invention

The present invention generally relates to an electronic device, andmore particularly, to a method and a system for automaticallyidentifying a fan arrangement.

2. Background of the Related Art

To cope with a variety of market demands and cost concerns,manufacturers of electronic devices (for example, but not limited to,computer systems, etc.) typically offer consumers a wide variety ofchoices for products. However, the manufacturer typically adoptscomponent parts from different suppliers or sources, which can increasethe complexity of production, impair quality and efficiency, andincrease production costs.

As technologies advance, there may be an increase in power consumptionand operating frequency of components (for example, but not limited to,a processor, memory, etc.) in the electronic device. Consequently, heatgenerated from these components correspondingly increases. In order toprevent malfunction and damage of the components due to overheating, itis necessary to monitor the temperature of components and, moreimportantly, to dissipate heat from the components so as to maintain thetemperature within a reasonable range.

In order to dissipate heat from the computer system, cooling fins, fans,and other heat management devices can be used. Cooling fins can assistin the transfer of heat from a target component to the ambient cold air.On the other hand, there are all kinds of fans, such as 3-wire DC fans,4-wire pulse width modulation (PWM) controlled fans, etc., which can beused to dissipate heat from the internal components of the computersystem.

In general, the computer system may need multiple fans to preventmalfunction and damage and to improve the reliability of the computersystem. In particular, for high capacity products or systems, such asservers, the use of multiple fans is a common solution with regard to aheat dissipation requirement, fan characteristic control, optimumperformance, and the like.

For a particular product or system, there are lots of solutions basedupon the selection and arrangement of conventional fans. Among others,one solution is to select a specific type of fan only from a singlesupplier. Although this approach may make the production processrelatively simple, the cost reduction is relatively small and it mayresult in potential issues of supply shortage. Another solution is toselect different types of fans having vital product data (VPD) fromdifferent suppliers.

Typically, the vital product data, which includes information aboutmanufacture and parts, can be stored in the non-volatile memory (NVmemory) of the product. The vital product data generally includes a partnumber, serial number, product model number, product version,maintenance level, and specific information of other device types. Thevital product data can also include user-defined information.

FIG. 1 illustrates the arrangement of NV memory 104 of the fan 100 usedin the computer system. The conventional fan 100 at least includes a fanbody (not shown), a microprocessor (MCU) 102, and a NV memory 104.Preferably, the NV memory 104 can be, but is not limited to, a flashROM, a non-volatile EEPROM, etc. Now referring to FIG. 1, the NV memory104 includes a protected area 108 and a flash area 112. Data stored inthe protected area 108 includes non-erasable codes, which can be, butare not limited to, the vital product data associated with the fan 100,such as a part number, serial number, product model number, and otherinformation.

For the vital product data of the fan 100, during the power-on self-test(POST), POST will show the vital product data of the motherboard partsand the system components. POST will also track the vital product dataof the system components to determine whether each device stores acorrect serial number. If a device is altered or removed, the user iswarned via event log and warning messages. Although such a solution hasgreater flexibility in production, the fan 100 with the vital productdata is relatively expensive.

That is, in order to satisfy the strict specification of a fan or therequirements of a product specification, when building a specificcomputer system, if a single type of fan from a sole supplier isadopted, potential issues, such as less flexibility in arrangement andpoor response effect, may occur. On the other hand, if different fansfrom multiple suppliers are selected, the cost of implementation may becorrespondingly increased.

BRIEF SUMMARY

One embodiment of the present invention provides a method foridentifying a fan type of a fan in an electronic system having acontroller. The method includes: setting a fan identificationcharacteristic value, the fan identification characteristic valuecorresponding to a PWM (pulse width modulation) duty cycle with asubstantial maximum difference in a fan speed of a first type of fan anda fan speed of a second type of fan; receiving, via the fan, the fanidentification characteristic value; initiating the fan with the fanidentification characteristic value; reading, via the controller, astable fan speed value of the fan; and identifying, via the controller,the fan type of the fan based on which fan has a predetermined fan speed(RPM) that is the closest to the stable fan speed value (RPM) whenoperating at the fan identification characteristic value (PWM).

Another embodiment of the present invention provides a fanidentification system for identifying a fan type of a fan in anelectronic system. The fan identification system includes a controller.The controller includes: a setting module for setting a fanidentification characteristic value, the fan identificationcharacteristic value corresponding to a PWM (pulse width modulation)duty cycle with a substantial maximum difference between a fan speed ofa first type of fan and a fan speed of a second type of fan; a readingmodule for reading a stable fan speed value of the fan after the fanreceives the fan identification characteristic value and is initiatedwith the fan identification characteristic value; and an identificationmodule for identifying the fan as the first type of fan or the secondtype of fan based on which fan has a predetermined fan speed (RPM) thatis the closest to the stable fan speed value (RPM) when operating at thefan identification characteristic value (PWM).

Yet another embodiment of the present invention provides an electronicsystem that includes a target device, a fan, and a controller asdescribed above.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

In order that the advantages of the invention will be readilyunderstood, a more particular description of the invention brieflydescribed above will be rendered by reference to specific embodimentsthat are illustrated in the appended drawings. Understanding that thesedrawings depict only typical embodiments of the invention and are nottherefore to be considered to be limiting of its scope, the inventionwill be described and explained with additional specificity and detailthrough the use of the accompanying drawings.

FIG. 1 is a diagram of a fan having non-volatile memory.

FIG. 2 is a diagram of a computer system 200 having a hardwarearchitecture in accordance an embodiment of the present invention.

FIG. 3 a graph showing the relationship between the fan speed and theduty cycle of two types of fans from two fan suppliers.

FIG. 4 is a table showing the fan speeds two different fans over a rangeof input duty cycles (PWM signals).

FIG. 5 is a graph showing the difference between the fan speeds of twodifferent fans over a range of input duty cycles (PWM signals).

FIG. 6 is a graph showing the time required for the fan speed of twotypes of fans from two suppliers to reach a stable value.

FIG. 7 is a flowchart of a method for determining a first fanidentification characteristic value.

FIG. 8 is a flowchart of a method for determining a second fanidentification characteristic value.

FIG. 9 is a flowchart of a method for identifying the type of fan of thecomputer system.

FIG. 10 is a block diagram of a fan identification system foridentifying the fan type of a fan.

DETAILED DESCRIPTION

Embodiments of the present invention provide a method for identifying afan type of a fan, an identification system, and an electronic systemthat provides a system arrangement and assembly with high flexibility atlow cost.

One embodiment of the present invention relates to a method foridentifying a fan type of a fan in an electronic system having acontroller. The method includes: setting a fan identificationcharacteristic value, the fan identification characteristic valuecorresponding to a PWM (pulse width modulation) duty cycle with asubstantial maximum difference in a fan speed (such as measured inrevolutions per minute—RPM) of a first type of fan and a fan speed of asecond type of fan; receiving, via the fan, the fan identificationcharacteristic value; initiating the fan with the fan identificationcharacteristic value; reading, via the controller, a stable fan speedvalue of the fan; and identifying, via the controller, the fan type ofthe fan based on which fan has a predetermined fan speed (RPM) that isthe closest to the stable fan speed value (RPM) when operating at thefan identification characteristic value (PWM).

In another embodiment of the present invention, for the first type offan and the second type of fan, a range of pulse width modulation (PWM)duty cycles are used to obtain a range of fan speeds and further toobtain the substantial difference to set the fan identificationcharacteristic value.

In yet another embodiment of the present invention, the method furtherincludes setting a second fan identification characteristic value,wherein the second fan identification characteristic value correspondsto a time required for the fan to reach the stable fan speed value.

In a further embodiment of the present invention, the method furtherincludes identifying, via the controller, the type of the fan based onthe second fan identification characteristic value responsive to thestable fan speed value.

In another embodiment of the present invention, a fan identificationsystem for identifying a fan type of a fan in an electronic systemincludes a controller. The controller includes: a setting module forsetting a fan identification characteristic value, the fanidentification characteristic value corresponding to a PWM (pulse widthmodulation) duty cycle with a substantial maximum difference in a fanspeed (as may be measured in revolutions per minute—RPM) of a first typeof fan and a fan speed of a second type of fan; a reading module forreading a stable fan speed value of the fan after the fan receives thefan identification characteristic value and is initiated with the fanidentification characteristic value; and an identification module foridentifying the fan as the first type of fan or the second type of fanbased on which fan has a predetermined fan speed (RPM) that is theclosest to the stable fan speed value (RPM) when operating at the fanidentification characteristic value (PWM).

In a still further embodiment of the present invention, an electronicsystem includes a target device, a fan, a controller, and a fanidentification system as described above.

FIG. 2 is a diagram of a computer system 200 having a hardwarearchitecture in accordance with an embodiment of the present invention.The computer system 200 includes a power supply 204, a hard disk 208, aCPU 212, a memory 216, a target device 220, a fan 224, a controller 228,a current sensor circuit 232, and an ambient temperature sensor 236. Thetarget device in the specification refers to a device which willgenerate a large amount of heat during operating, such as, but notlimited to, an interface card, a battery, a PCI card, and the like (notshow) or the hard disk 208, the CPU 212, and the memory 216 mentionedabove. The purpose of the fan 224 is to cool down the target device 220.Other basic architectures and components for computer system 200 may bereferred to as an ordinary personal computer or server, such as SystemX®, Blade Center® or eServer® server from IBM Corp. The details notrelated to the present invention will be omitted without description.

When the computer system 200 is operating, the power supply 204 ismainly providing DC power to the hard disk 208, the CPU 212, the memory216, the target device 220, and the fan 224. In the embodiment shown inFIG. 2, only the target device 220 has a fan 224. But, in otherembodiments not shown, the hard disk 208, the CPU 212, and the memory216 may have their individual corresponding fan to enhance theefficiency of heat dissipation. In order to clearly describe the presentinvention, only the target device 220 and a single fan 224 are used inthe description. However, the target device 220 may be, or may bereplaced with, the hard disk 208, the CPU 212, the memory 216, or anyother device in the computer system that may generate heat and need tobe cooled.

Preferably, the fan 224 is a so-called “smart fan”, which has amicroprocessor 102 as shown in FIG. 1 to drive or manage the operationof the fan 224. For example, the microprocessor of the fan 224 canreceive Pulse Width Modulation (PWM) signals and control the speed ofthe fan 224 according to the duty cycle in PWM signals.

In one non-limiting example, the microprocessor of the fan 224 may bemodified based on the microprocessor AVR442 from Atmel Corporation,LB1860 from SANYO Semiconductor Co. Ltd, ZXBM200 from ZetexSemiconductors, etc.

Among others variables, the speed control of the fan 224 is important toeffectively cool down components in the system 200. In addition tocompletely turning the fan ON or OFF, the operation of the fan 224 maybe controlled using Pulse Width Modulation, wherein the rotating speedof the fan 224 is controlled by adjusting the duty cycle per unit oftime.

FIG. 3 is a graph showing the relationship between the fan speed and theduty cycle of two types of fans (e.g. fan A and fan B) from two fansuppliers where either fan may be used when building a specific computersystem 200 in accordance with one embodiment of the present invention.When the fan speed is measured by the baseboard management controller orcontrol chip in closed loop, an outputted PWM signal is obtained basedon a received RPM signal to enable the control chip to control the fanspeed according to the outputted PWM signal, thus obtaining therelationship diagram of FIG. 3.

With respect to FIG. 3, FIG. 4 is a table showing corresponding fanspeeds of fan A and fan B under different outputted input PWM signals(0%-100%) in accordance with a preferred embodiment of the presentinvention. FIG. 4 also illustrates the difference between the fan speedof fan A and the fan speed of fan B (RPM) over a range of duty cycles(PWM). As shown in FIG. 4, when the duty cycle is 20%, the differencebetween the fan speeds of fan A and fan B has a maximum absolute value(444 RPM).

With respect to FIG. 4, FIG. 5 is a graph showing the difference betweenthe fan speeds of fan A and fan B over a range of outputted input PWMsignals (0%-100%) in accordance with a preferred embodiment of thepresent invention. Similarly, as shown in FIG. 4, when the duty cycle is20%, the difference in the corresponding fan speeds of fan A and fan Bhas a maximum absolute value. That is, a duty cycle of 20% is the mostsuitable duty cycle for identifying the fan 224 of the computer system200 as fan A or fan B (i.e., distinguishing between the fan speed of fanA and the fan speed of fan B at the same 20% duty cycle).

Therefore, in a preferred embodiment of the present invention, the dutycycle which results in a substantial maximum difference of fan speed canbe defined as the fan identification characteristic value, which is usedto identify the fan 224 of the computer system 200 from a table ofavailable fans.

FIG. 6 is a graph showing the time required for the fan speed of twotypes of candidate fans (fan A and fan B) from two suppliers to reach astable fan speed value. This data may be useful when building a specificcomputer system 200 in accordance with a preferred embodiment of thepresent invention. When the fan 224 starts to operate, the controller228 initiates the fan ramping timer 240. After the fan 224 operates fora period of time, the fan speed of the fan 224 will approach a stablevalue. Once the fan speed of fan 224 reaches the stable value, thecontroller 228 stops the fan ramping timer 240 and obtains the timerequired for the fan 224 to reach the stable value. Similarly, data onthe time required for different fans to reach the stable value can bealso stored in the controller 228 to serve as another fan identificationcharacteristic value for identifying the fan 224 as either fan A or fanB. In other words, in addition to the fan identification characteristicvalue defined by the PWM (pulse width modulation) duty cycle that isassociated with a substantial maximum difference of fan speed, the timerequired for the fan to reach the stable value can also be determined asa second fan identification characteristic value. The first and secondfan identification characteristic values can be used independently or incombination, or may be combined with other fan identificationcharacteristic values to enhance the identification. The presentinvention is not limited to the illustrated embodiments.

Referring back to FIG. 2, the current sensor circuit 232 provides a tinyresistance, such as 0.001 Ohm, for measuring the current I of the fan224. Furthermore, the controller 228 may employ the measured current Ito determine the duty cycle in PWM signals outputted to the fan 224. Thetarget device 220 may be the hard disk 208, the CPU 212, the memory 216,or any other device in the computer system which will generate heat andneed to be cooled.

The ambient temperature sensor 236 is configured for detecting thetemperature Te in the operating environment, i.e. room temperature. Theambient temperature sensor 236 may employ a conventional digital thermalsensor, and directly generate a digital signal corresponding to thedetected ambient temperature.

The controller 228 comprises a microprocessor 244 and memory 248,preferably integrated in a BMC (Baseboard Management Controller) on amotherboard (not shown) of the computer system 200, such as a VSC 452BMC provided by Maxim Corp. or SE-SM4210-P01 BMC provided byServerEngines Corp. It should be noted that the controller 228 may alsobe implemented as an independent controller. The controller 228 couldhave a fan ramping timer 240 to record the time that the fan needs toreach a specific steady state speed, as a parameter to distinguishcharacteristics among different fans.

In an embodiment, the controller 228 may have an A/D port (not shown),which can receive the measured current I detected by the current sensorcircuit 232.

The controller 228 may also have another A/D port (not shown), which canreceive the ambient temperature Te detected by the ambient temperaturesensor 236. Furthermore, the controller 228 may also has a controlsignal output port for outputting a control signal to the fan 224, andfurther setting or controlling the fan 224, for example, but not limitedto, controlling the activation, stop or rotating speed of the fan 224.For example, the controller 228 can output a PWM signal with differentduty cycles to the microprocessor of the fan 224 as a speed controlsignal, in order to control the speed of the fan 224.

In addition, the controller 228 can output a control signal according toa first fan identification characteristic value obtained in accordancewith the discussion of FIGS. 2 to 5 and a second fan identificationcharacteristic value obtained in accordance with the discussion of FIG.6, by which the computer system 200 can identify the fan as fan A or fanB.

Moreover, when the fan 224 is a PWM fan, the controller 228 can output aPWM signal with different duty cycles to control the fan 224.Furthermore, the memory 248 of the controller 228 may store the firmwarerequired for controlling the fan, and other associated parameters, suchas the Specific Heat Capacity/Density of air, sectional area of thetarget device 220 facing airflow from the fan, a threshold operatingtemperature Tm (Case Temperature) of the target device 220, or otherparameters of the target device 220.

The method for fan identification and control is illustrated withreference to the hardware architecture of FIG. 2, the data of FIGS. 3 to6, the flowcharts of FIGS. 7, 8 and 9, and the block diagram of FIG. 10.

FIG. 7 is a flowchart of a method 700 for determining a fanidentification characteristic value during POST in accordance with apreferred embodiment of the present invention. The method includes:

Step 704: with respect to the computer system 200, providing PWM to RPMtables (For example, see FIG. 4) for each available type of fan, whereinthe available fans include at least two types of fans.

Step 708: storing PWM to RPM tables for each available type of fan inthe memory 248 of the controller 228.

Step 712: with respect to the computer system 200, determining, by thecontroller 228, a fan identification characteristic value of a fanaccording to the PWM to RPM tables for each available type of fan. In apreferred embodiment of the present invention, the fan identificationcharacteristic value is defined as the PWM duty cycle with a substantialmaximum difference of fan speed (RPM) as explained in reference to FIGS.3 to 5.

FIG. 8 is a flowchart of a method 800 for determining a second fanidentification characteristic value with respect to the computer system200 in accordance with a preferred embodiment of the present invention.The method includes:

Step 804: with respect to the computer system 200, for each type ofavailable fan, calculating the time required for the fan 224 to reach astable rotating speed from the start, and defining the calculated timeas a second identification characteristic value of fan, wherein theavailable fans include at least two types of fans.

Step 808: storing a table of the time required for the fan to reach thestable rotating speed from the start (i.e. the second identificationcharacteristic value) for each type of fan for which data is stored inthe memory 248 of the controller 228.

FIG. 9 is a flowchart of a method 900 for identifying the type of fan ofthe computer system 200 in accordance with a preferred embodiment of thepresent invention. The method includes:

Step 904: powering up the computer system 200.

Step 908: enabling the fan 224 to stay in a “fan-determining mode”, andwaiting for the fan identification characteristic value sent from thecontroller 228. The controller 228 can determine the first fanidentification characteristic value according to a predetermined rule orusing a look-up table. For example, the controller 228 can determine thefan identification characteristic value from the method 700 of FIG. 7,but is not limited thereto. As shown in FIG. 4, a fan may be most easilyidentified when the duty cycle is 20%, since this is the duty cycle atwhich a substantial maximum difference of fan speed between fan A andfan B is present (444 RPM).

Step 912: the fan 224 starts to operate with the fan identificationcharacteristic value. Once the fan 224 starts to operate, the controller228 starts the fan ramping timer 240.

Step 916: after the fan 224 operates for a period of time, the rotatingspeed of fan 224 approaches a stable value.

Step 920: once the speed of the fan 224 reaches the stable value, thecontroller 228 stops the fan ramping timer 240 and obtains the timerequired for the fan 224 to reach the stable value (the secondidentification characteristic value).

Step 924: the controller 228 loads, from the memory 248, tablesassociated with each fan as generated according to FIG. 7 and FIG. 8.

Step 928: the controller 228 identifies the fan 224 that is in use to befan A or fan B according to the loaded tables.

Step 932: after the fan is identified, the fan 224 enters the operatingmode and waits for a subsequent speed control signal sent from thecontroller 228, by which the fan 224 operates at the correspondingspeed. Preferably, the rotating speed control signal is a PWM signal,wherein the rotating speed of the fan 224 is controlled by means of theduty cycle in the PWM signal.

FIG. 10 illustrates a block diagram of a fan identification system 960for identifying the type of a fan of an electronic device in accordancewith a preferred embodiment of the present invention. The fanidentification system 960 includes a setting module 964, a readingmodule 968, and an identification module 972. The term “module” used inthe present invention refers to a section of code or computer programfor achieving a specific function, which is more suitable than programsto describe the execution of software in the computer system. Therefore,descriptions of software are generally described as descriptions ofmodules. Referring to FIGS. 1 to 9, the setting module 964 is configuredfor setting a fan identification characteristic value, wherein the fanidentification characteristic value corresponds to a PWM duty cycle witha substantial maximum difference of a fan speed of a first type of fanand a fan speed of a second type of fan. The reading module 968 isconfigured for reading a stable RPM value of the fan after the fanreceives the fan identification characteristic value and operates withthe fan identification characteristic value. The identification module972 is adapted to, in response to the stable fan speed value, identifythe fan as the first type of fan or the second type of fan based onwhich fan has a predetermined fan speed that is the closest to thestable fan speed value when operating at the fan identificationcharacteristic value.

The device and the method of the present invention can automaticallydetect and identify the type of fan for different applications or systemarrangements. Such a device can be integrated into, for example, thecomputer system to identify different types of fans that may be usedtherein.

It is noted that although the embodiments of FIGS. 1 to 10 areillustrated with the identification of two different fans, fan A and fanB, one skilled in the relevant art will recognize that more than twodifferent fans can be identified by means of conventional statisticalanalysis, such as, without limitation the least square method and thelinear regression method. On the other hand, although the controller 228in FIG. 2 is illustrated as a baseboard management controller, oneskilled in the relevant art will recognize that other embodiments arealso possible, such as, without limitation, the basic input/outputsystem (BIOS) or an integrated management module (IMM).

The foregoing preferred embodiments are provided to illustrate anddisclose the technical features of the present invention, and are notintended to be restrictive of the scope of the present invention. Hence,all equivalent variations or modifications made to the foregoingembodiments without departing from the spirit embodied in the disclosureof the present invention should fall within the scope of the presentinvention as set forth in the appended claims.

Reference throughout this specification to features, advantages, orsimilar language does not imply that all of the features and advantagesthat may be realized with the present invention should be or are in anysingle embodiment of the invention. Rather, language referring to thefeatures and advantages is understood to mean that a specific feature,advantage, or characteristic described in connection with an embodimentis included in at least one embodiment of the present invention. Thus,discussion of the features and advantages, and similar language,throughout this specification may, but do not necessarily, refer to thesame embodiment.

Furthermore, the described features, advantages, and characteristics ofthe invention may be combined in any suitable manner in one or moreembodiments. One skilled in the relevant art will recognize that theinvention may be practiced without one or more of the specific featuresor advantages of a particular embodiment. In other instances, additionalfeatures and advantages may be recognized in certain embodiments thatmay not be present in all embodiments of the invention.

Reference throughout this specification to “one embodiment,”“embodiment,” or similar language means that a particular feature,structure, or characteristic described in connection with the embodimentis included in at least one embodiment of the present invention. Thus,appearances of the phrases “in one embodiment,” “in an embodiment,” andsimilar language throughout this specification may, but do notnecessarily, all refer to the same embodiment.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing. Computer program code for carrying out operations foraspects of the present invention may be written in any combination ofone or more programming languages, including an object orientedprogramming language such as Java, Smalltalk, C++ or the like andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The program codemay execute entirely on the user's computer, partly on the user'scomputer, as a stand-alone software package, partly on the user'scomputer and partly on a remote computer or entirely on the remotecomputer or server. In the latter scenario, the remote computer may beconnected to the user's computer through any type of network, includinga local area network (LAN) or a wide area network (WAN), or theconnection may be made to an external computer (for example, through theInternet using an Internet Service Provider).

Aspects of the present invention may be described with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, and/or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,components and/or groups, but do not preclude the presence or additionof one or more other features, integers, steps, operations, elements,components, and/or groups thereof. The terms “preferably,” “preferred,”“prefer,” “optionally,” “may,” and similar terms are used to indicatethat an item, condition or step being referred to is an optional (notrequired) feature of the invention.

The corresponding structures, materials, acts, and equivalents of allmeans or steps plus function elements in the claims below are intendedto include any structure, material, or act for performing the functionin combination with other claimed elements as specifically claimed. Thedescription of the present invention has been presented for purposes ofillustration and description, but it is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the invention. Theembodiment was chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

1-5. (canceled)
 6. A fan identification system for identifying a fantype of a fan in an electronic system, comprising: a controller, thecontroller comprising: a setting module for setting a first fanidentification characteristic value, the first fan identificationcharacteristic value corresponding to a PWM (pulse width modulation)duty cycle with a substantial maximum difference between a fan speed ofa first type of fan and a fan speed of a second type of fan; a readingmodule for reading a stable fan speed value of the fan after the fanreceives the first fan identification characteristic value and isinitiated with the fan identification characteristic value; and anidentification module for identifying the fan as the first type of fanor the second type of fan based on which fan has a predetermined fanspeed that is the closest to the stable fan speed value when operatingat the fan identification characteristic value.
 7. The fanidentification system of claim 6, wherein, for the first type of fan andthe second type of fan, different PWM duty cycles are used to obtaindifferent fan speeds and further to obtain the substantial difference toset the first fan identification characteristic value.
 8. The fanidentification system of claim 6, wherein the setting module sets asecond fan identification characteristic value, and the second fanidentification characteristic value corresponds to a time required forthe fan in use to reach the stable fan speed value, and wherein, inresponse to the stable fan speed value, the identification moduleidentifies the fan as the first type of fan or the second type of fanbased on the second fan identification characteristic value.
 9. The fanidentification system of claim 6, wherein the controller is a baseboardmanagement controller or a basic input/output system (BIOS).
 10. Anelectronic system, comprising: a target device; a fan; and a controller,the controller comprising: a setting module for setting a first fanidentification characteristic value, the first fan identificationcharacteristic value corresponding to a PWM (pulse width modulation)duty cycle with a substantial maximum difference between a fan speed ofa first type of fan and a fan speed of a second type of fan; a readingmodule for reading a stable fan speed value of the fan after the fanreceives the first fan identification characteristic value and isinitiated with the fan identification characteristic value; and anidentification module for identifying the fan as the first type of fanor the second type of fan based on which fan has a predetermined fanspeed that is the closest to the stable fan speed value when operatingat the fan identification characteristic value.
 11. The electronicsystem of claim 10, wherein, for the first type of fan and the secondtype of fan, different PWM duty cycles are used to obtain different fanspeeds and further to obtain the substantial difference to set the firstfan identification characteristic value.
 12. The electronic system ofclaim 10, wherein the setting module sets a second fan identificationcharacteristic value, and the second fan identification characteristicvalue corresponds to a time required for the fan in use to reach thestable fan speed value, and wherein, in response to the stable fan speedvalue, the identification module identifies the fan as the first type offan or the second type of fan based on the second fan identificationcharacteristic value.
 13. The electronic system of claim 10, wherein thecontroller is a baseboard management controller or a basic input/outputsystem (BIOS).